home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-13
/
amac44b.zip
/
JMPPOS13.QM
< prev
next >
Wrap
Text File
|
1992-06-22
|
34KB
|
713 lines
* JMPPOS13.QM, 1.3a
* Macros To Set and Jump to Position Markers
* In Current File and Across Files
* Written by Tom Hogshead and John Goodman
* 6/10/92
* Bytes
* Position Markers WITHOUT Extensions . . . -----
* @1 Set Position Marker at Current Line ( ) 13
* @2 Set Position Marker at Top of Screen 20
* @3 Jump to Prev Pos Marker in Current File 26
* @4 Jump to Next Pos Marker in Current File 18
* @5 Jump to Prev Pos Marker in Loaded Files 56
* @6 Jump to Next Pos Marker in Loaded Files 44
* @7 Jump to Prev Pos Marker in Current File, Wraps File 34
* @8 Jump to Next Pos Marker in Current File, Wraps File 29
* @9 Delete All Position Markers in Current File Only 33
* @0 Delete All Position Markers in All Loaded Files 38
*
* Position Markers WITH Extensions (In Current File Only) . . .
* @f1 Set Position Marker at Current Line 30 |chg
* @f2 Set Position Marker at Top of Screen 39 |chg
* @f3 Jump to Prev Pos Marker 70
* @f4 Jump to Next Pos Marker 55
* @f9 Delete All Position Markers w/Extensions Only 65
* @f10 Set, Clear or Reset Position Marker Extension 29
*
* @h Jump To Macro or Item In Index
*
* Description of JMPPOS Macros
* Key Descriptions' Functions
* Notes
* Other AMAC Macros
* Macros
* Version History
*
*--eoi
* (Description)
* --------------
* The following set of QEdit macros provide an alternative to the
* "Bookmark" macros in BOOKxx.QM. The JMPPOS macros allow the user
* to set "Position Markers" at various points in a file, then jump
* quickly to the next or previous position marker from anywhere in
* the file. Position markers are "labels" that are placed on
* separate lines in file enabling us to jump to the next or
* previous position marker in any of the currently loaded files
* (that is, jump across files).
* A typical application of these macros is to set position markers
* at the top of each function/subroutine in a source code file, or
* each section and chapter of a documentation file. The JMPPOS
* macros will allow you to jump quickly from function to function
* or section to section by pressing a single key.
* Another application of these macros is to jump quickly between
* browsing a calling and called function in a source code file.
* When browsing the calling function, press one of the "Set
* Position Markers" macro keys to mark the calling function's
* position. Then move to the called function and mark it's
* position in the same way. You can then quickly alternate between
* browsing the calling and called functions by pressing one of the
* "Jump to Next Position Marker" or "Jump to Previous Position
* Marker" macro keys.
* These macros require QEdit v2.15.
* (Key) Descriptions' Functions
* ------------------------------
* Following describes the functions of the JMPPOS macro keys.
* Position markers can be placed in a file (set) using four
* different macro keys, @1, @2, @f1 or @f2:
* @1 - Sets a position marker one line above the line currently
* being edited. This macro key is useful for marking specific
* line locations in a file that you'll want to jump back to
* later.
* @2 - Sets a position marker one line above the top line currently
* displayed on the screen. This macro key is useful for taking
* a "snapshot" of the currently displayed screen so that you
* can return to the location and have the screen displayed just
* as it was when the position marker was set. Note that when a
* position marker is set using this macro key, nothing appears
* to happen. This is because the position marker label is
* placed one line above the first line displayed on the screen
* and the cursor is returned to it's original position.
* 1
* @f1 - Sets a position marker with a user selected *extension* one
* line above the line currently being edited. This macro key
* is useful for marking specific line locations in a file
* containing many markers placed with @1 or @2 when the user
* wishes to jump to and from a recent few markers. The marker
* above was inserted invoking @f1 and an extension '1'.
* @f2 - Sets a position marker with a user selected *extension* one
* line above the top line currently displayed on the screen,
* like @2, except with an extension.
* Eight different macro keys are provided to Jump to Position Markers:
* @3 - Jumps to the previous position marker in the file currently
* being edited. The macro searches from one line above the
* line at the top of the screen to the beginning of the file.
* @4 - Jumps to the next position marker in the file currently being
* edited. The macro searches from the current cursor location
* to the end of the file.
* @5 - Jumps to the previous position marker in any of the files
* that are currently loaded. The macro first searches from one
* line above the line at the top of the screen to the beginning
* of the current file, then searches from bottom to top in the
* previous file in the file ring, then moves to the nextmost
* previous file in the ring, etc. If a position marker is not
* found in any of the files in the ring, the bottom of the
* current file is searched.
* @6 - Jumps to the next position marker in any of the files that
* are currently loaded. The macro first searches from the
* current cursor position to the bottom of the current file,
* then searches from top to bottom in the next file in the file
* ring, then moves to the next file in the ring, etc. If a
* position marker is not found in any of the files in the ring,
* the top of the current file is searched.
* @7 - Jumps to previous position marker in the file currently being
* edited. Wraps within the current file when it hits the *top*
* of the file (i.e., treat the current file as a "ring" when no
* marker is found from the starting position to the top of
* the file). This way, hitting a jump key will come up with
* something if there is a marker anywhere in the current file.
* You don't have to worry about whether you're at the
* first/last position in the file. It also makes it easier to
* jump back and forth between two positions.
* @8 - Jumps to next position marker in the file currently being
* edited. Wraps within the current file when it hits the
* bottom of the file and no marker has been found from the
* starting position to the bottom.
* @f3 - Jumps to previous position marker containing user selected
* *extension* in the file currently being edited. The macro
* wraps within the current file. If no marker extension has
* been selected and is active, this macro behaves like @7.
* @f4 - Jumps to the next position marker containing user selected
* *extension* in the file currently being edited. The macro
* wraps within the current file. If no marker extension has
* been set with @f10, this macro behaves like @8.
* When a position marker is found by any of the above jump macros,
* the line containing the position marker is moved one line above
* the current display. If a position marker is not found by any of
* the jump macros, the cursor remains at its original location, or
* at the beginning of the same line if searching backwards.
* Four keys are provided to Delete, Set, Clear or Reset Position
* Markers and Extensions:
* @9 - Deletes all position marker label lines in the current file,
* including markers with extensions.
* @0 - Deletes all position marker label lines in All currently
* loaded files, including all markers with extensions.
* @f9 - Deletes all position marker label lines containing any
* *extension* in the current file. Markers with an extension
* 'g' are considered 'guarded' and are not removed with @f9.
* Guarded position markers can only be removed with @9 or @0.
* @f10 - Sets, clears or resets the active marker *extension*. If no
* marker extension has been set or after an extension has been
* cleared using @f10, markers containing extensions are
* accessed with all jump macros the same as markers without
* extensions.
* A Few (Notes)
* --------------
* a - All "Jump to Position Marker" macros, except the @function
* macros, do not set or use any blocks. Block copies and moves
* can, therefore, be performed when jumping between marker
* positions.
* b - Position marker label lines include an asterisk in column 1.
* This was done so that if the user inadvertently (or intent-
* ionally) does not delete the label line when saving the file,
* the label lines will be treated as comment by dBase, QConfig,
* QMac and QEdit (still need to watch out for comments the
* middle of multi-line statements!). If you commonly use the
* macros for other languages (e.g., C source code files), you
* may want to change the "Set Position Marker" macros to use
* different initial characters. The other macros should not
* need to be changed.
* c - Ascii #224 must not exist in any loaded file to use @9, @0 or
* @f9.
* d - The ring loading algorithm used in @5 and @6 is a
* modification a technique in a macro written by Kyle Watkins
* of SemWare.
* e - If any file, other than the starting file, has the cursor in
* column 2, macros @5 and @6 may have to be invoked twice to
* jump to the desired pos marker across files.
* f - All macros will fit on one line of Qconfig.dat.
* g - These (macros) require QEdit v2.15.
* M A C R O S
* ----------------------------------------------------------------------
* @(1) Set Position Marker at Current Line
* ----------- REVISED 13 bytes Wed 05-22-1991 12:42:54 ---------------
@1 MacroBegin
InsertLine BegLine
"*" CursorRight #031 #030
*
* 14 bytes Mon 04-29-1991 23:34:56
* 13 bytes Wed 05-22-1991 12:42:54 (TH - replaced space w/CursorRight)
*
* ----------------------------------------------------------------------
* @(2) Set Position Marker at Top of Screen
* ----------- REVISED 20 bytes Wed 05-22-1991 12:44:29 ---------------
@2 MacroBegin
UnmarkBlock
DropAnchor DropAnchor * Mark current Position
BegScreen
InsertLine BegLine * Insert Blank Line
"*" CursorRight #031 #030 * Type Pos Marker Label
ScrollDown GotoBlockBeg
UnmarkBlock
*
* 21 bytes Tue 04-30-1991 00:40:51
* 20 bytes Wed 05-22-1991 12:44:29 (TH - replaced space w/CursorRight)
*
* ----------------------------------------------------------------------
* @(3) Jump to Previous Position Marker in Current File
* ----------- REVISED 26 bytes Mon 05-04-1992 12:42:04 ---------------
@3 MacroBegin
setscreenoff *|
BegLine ScrollUp BegScreen * Move cursor in front of Marker in
* case current screen is positioned
* with marker right on top
Find
#031 #030 Return
"B" Return * Search backwards for next Marker
JTrue FOUND * If found, reposition & cleanup
NOTFOUND: *ELSE no Marker above where we are
PrevPosition * Return cursor to our original position
JUMP END * End macro
FOUND: *ELSE no Marker in top of current file
MakeTopofScreen * Put Marker line on top of screen
END:
ScrollDown * Remove marker line from view
*
* 25 bytes Fri 05-03-1991 02:06:08
* 26 bytes Mon 05-04-1992 12:42:04 (TH @3, added setscreenoff)
*
* ----------------------------------------------------------------------
* @(4) Jump to Next Position Marker in Current File
* ----------- REVISED 18 bytes Mon 05-04-1992 12:42:08 ---------------
@4 MacroBegin
setscreenoff *|
Find #031 #030 Return
DelLine Return * Find Marker
JFalse END * If Marker found, end macro
MakeTopofScreen ScrollDown * ELSE remove Marker from view
END:
*
* 17 bytes Mon 04-29-1991 23:33:46
* 18 bytes Mon 05-04-1992 12:42:08 (TH @4, added setscreenoff)
*
* ----------------------------------------------------------------------
* @(5) Jump to Previous Position Marker in Loaded Files
* ----------- REVISED 56 bytes Fri 05-22-1992 03:28:20 ---------------
@5 macrobegin
setscreenoff setsoundoff
begline scrollup begscreen * Move cursor in front of Marker in
* case current screen is positioned
* with marker right on top
find #031 #030 return * Search remainder of current file for
"b" return * pos marker label, Find Backward
jtrue FOUND * If found, reposition & cleanup
prevposition * Return cursor to original position
begline cursorright * Put cursor to column 2 *|
scrolldown * and screen to original position
RINGLOOP: * Loop Through File Ring Until Marker
* Found or Begin Point Reached
prevfile * Move back to orig file
find return "gb" return * Search eof for pos marker and
* retain cursor pos if not found
jtrue FOUND * If found, reposition & cleanup
cursorleft * Test if we can move cursor left
jfalse RINGLOOP * If we can't, it's not the orig file,
* loop and move to next file
cursorleft * If we can move cursor left, test if we
* can do it again
jtrue ringloop * If we can, we are not in the orig file,
* loop and move to next file
find return "gb" return *ELSE search orig eof for pos marker and
* retain cursor pos if not found
jfalse END * End if orig file has no markers on bot *|
FOUND:
maketopofscreen *ELSE position label line at top of screen
scrolldown * Remove it from View
END:
*
* 65 bytes Mon 04-29-1991 23:47:06
* 77 bytes Sun 05-19-1991 20:26:05 (TH)
* 77 bytes Thu 05-21-1992 09:55:58 (TH @5, converted to Nul cursorleft)
* 56 bytes Fri 05-22-1992 03:28:20 (TH @5, removed Nul cursorleft)
*
* ----------------------------------------------------------------------
* @(6) Jump to Next Position Marker in Loaded Files
* ----------- REVISED 46 bytes Fri 05-22-1992 03:31:31 ---------------
@6 macrobegin
setscreenoff setsoundoff
begline cursorright * Put cursor to column 2 of current file *|
find #031 #030 return * Search remainder of current file for
delline return * for marker label, find forward
jtrue FOUND * If found, reposition & cleanup
RINGLOOP: * Loop Through File Ring Until Marker
* Found or Begin Point Reached
nextfile * Move to next file in ring
find return "g" return * Search file for pos marker and
* retain cursor pos if not found
jtrue FOUND * If found, reposition & cleanup
cursorleft * Test if we can move cursor left
jfalse RINGLOOP * If we can't, it's not the orig file,
* loop and move to next file
cursorleft * If we can move cursor left, test if we
* can do it again
jtrue RINGLOOP * If we can, we are not in the orig file,
* loop and move to next file
find return "g" return *ELSE search orig file for pos marker and
* retain cursor pos if not found
jfalse END * End if orig file has no markers on top *|
FOUND:
maketopofscreen *ELSE position label line at top of screen
scrolldown * Remove it from View
END:
*
* 57 bytes Tue 04-30-1991 00:45:00
* 69 bytes Sun 05-19-1991 20:25:47 (TH)
* 68 bytes Thu 05-21-1992 12:27:28 (TH @6, converted to Nul cursorleft)
* 46 bytes Fri 05-22-1992 03:31:31 (TH @6, removed Nul cursorleft)
*
* ----------------------------------------------------------------------
* @(7) Jump to Previous Position Marker in Current File, Wraps File
* ----------- REVISED 34 bytes Thu 05-21-1992 12:27:32 ---------------
@7 MacroBegin
setscreenoff setsoundoff *|
BegLine ScrollUp BegScreen * Move cursor in front of Marker in
* case current screen is positioned
* with marker right on top
Find * Search
#031 #030 Return "B" Return * backwards for Marker
JTrue FOUND * If found, reposition & cleanup
Prevposition *ELSE if not found,
Find Return "GB" Return * Do global search from bottom up
* Keeps starting cursor position
* if no marker in file
Jfalse END * Test if not found, end macro
FOUND: *ELSE marker was found
MakeTopofScreen * Position Label Line at Top of Screen
END:
ScrollDown * Remove it from View
*
* 32 bytes Sat 05-04-1991 01:36:19
* 34 bytes Thu 05-21-1992 12:27:32 (TH @7, added setscreenoff/setsoundoff)
*
* ----------------------------------------------------------------------
* @(8) Jump to Next Position Marker in Current File, Wraps File
* ----------- REVISED 29 bytes Thu 05-21-1992 12:22:50 ---------------
@8 MacroBegin
setscreenoff setsoundoff *|
Find * Search Down for Pos Marker Label
#031 #030 Return
DelLine Return
JTrue FOUND * If found, reposition & cleanup
BegFile * If Not, Start at Top of File
RepeatFind * and Repeat the Search
JTrue FOUND * If found, reposition & cleanup
PrevPosition * No Label in File, Return to
MakeCtrofScreen * orig Position and Center
Jump END
FOUND: * Label Was Found
MakeTopofScreen * Position Label Line at Top of Screen
ScrollDown * Remove it from View
END:
*
* 28 bytes Fri 05-03-1991 02:48:51
* 27 bytes Thu 10-03-1991 12:36:54 (TH @8)
* 29 bytes Thu 05-21-1992 12:22:50 (TH @8, added setscreenoff/setsoundoff)
*
* ----------------------------------------------------------------------
* @(9) Delete All Position Markers in Current File
* ----------- REVISED 33 bytes Thu 05-21-1992 12:23:24 ---------------
@9 MacroBegin
setscreenoff setsoundoff *|
InsertLine #224 * Insertline w/weird character
FILELOOP: * Loop until all Markers are deleted
Find #031 #030 Return * Search file for next pos marker
"G" Return * Retain cursor pos if not found
JFalse FILECLEAN * Pos marker not found, exit loop
DelLine * Pos marker found, del line
Jump FILELOOP * See if more Markers in current file
FILECLEAN: * File now clean of Markers
Find #224 Return "G" Return * Search file for begin point Marker
DelLine * Delete line w/weird character
*
* 31 bytes Mon 04-29-1991 23:34:45 (TH @9)
* 33 bytes Thu 05-21-1992 12:23:24 (TH @9, added setscreenoff/setsoundoff)
*
* ----------------------------------------------------------------------
* @(0) Delete All Position Markers in ALL Loaded Files
* ----------- REVISED 38 bytes Wed 05-20-1992 11:50:13 ---------------
@0 MacroBegin
setsoundoff *|
InsertLine #224 * InsertLine w/Weird Character
RINGLOOP: * Loop Through File Ring Until
* Begin Point Reached
setscreenon setscreenoff *|
NextFile * Edit Next File in Ring
FILELOOP: * Loop Until All Markers in
* File are Deleted
Find * Search File
#031 #030 Return * for Next pos marker
"G" Return * Retain Cursor Pos If Not Found
JFalse FILECLEAN * Pos markers Not Found, Exit Loop
DelLine * Pos marker found, del line
Jump FILELOOP * See if More Markers in Current File
FILECLEAN: * File Now Clean of Markers
Find * Search File
#224 Return * for Begin Point Marker
"G" Return
JFalse RINGLOOP * Begin Point Not Found, Try Next File
* If Here, All Markers Deleted and
* Back to Starting Point
DelLine * Delete line with Marker in Original File
*
* 35 bytes Tue 04-30-1991 00:53:21 (TH @9)
* 38 bytes Wed 05-20-1992 11:50:13 (TH @0, added setsoundoff/setscreenoff)
*
* 1
* ----------------------------------------------------------------------
* @(f1) Set Position Marker With Extension at Current Line
* ----------- REVISED 30 bytes Thu 06-04-1992 13:32:36 ---------------
@f1 macrobegin
insertline begline
"*" cursorright #031 #030
getscrbuff "e" return * Get ext
endline jtrue HASEXT * Test if ext set
unmarkblock *|
markcolumn markcolumn *ELSE ext not set, mark ext
pause * Pause to insert ext
storescrbuff "e" return * Store ext to buff "e"
HASEXT:
unmarkblock * Unmark ext
*
* 29 bytes Sun 05-24-1992 21:10:31 (TH @f1)
* 30 bytes Thu 06-04-1992 13:32:36 (TH @f1, added unmarkblock)
*
* 1
* ----------------------------------------------------------------------
* @(f2) Set Position Marker With Extension at Top of Screen
* ----------- REVISED 39 bytes Thu 06-04-1992 13:32:27 ---------------
@f2 macrobegin
begscreen
insertline begline * Insert Blank Line
"*" cursorright #031 #030 * Type Pos Marker Label
getscrbuff "e" return * Get ext
endline jtrue HASEXT * Test if ext set
unmarkblock markcolumn *ELSE ext not set, begin block *|
pause * Pause to insert ext
cursorleft * Pos cursor to make ext a bl
storescrbuff "e" return * Store ext to buff "e"
HASEXT:
unmarkblock * Unmark ext
scrolldown * Remove marker line from view
cursordown 11 * Pos cursor center of screen
*
* 38 bytes Sun 05-24-1992 22:20:04 (TH @f2)
* 39 bytes Thu 06-04-1992 13:32:27 (TH @f2, added unmarkblock)
*
* 1
* ----------------------------------------------------------------------
* @(f3) Jump to Previous Position Marker With Extension in Current File,
* Wraps File
* ----------- REVISED 70 bytes Mon 05-25-1992 20:57:34 ---------------
@f3 MacroBegin
setscreenoff setsoundoff
* --------------- Search For Pos Marker With Extension ---------------*
getscrbuff "e" return * Get ext
jfalse NOEXT * Test if ext set
cut * If so, cut to scrap for find
BegLine ScrollUp BegScreen * Move cursor in front of marker in
* case current screen is positioned
* with marker right on top
Find * Search backward
#031 #030 * for pos marker
paste * with ext
Return "B" Return
JTrue FOUND * If found, reposition & cleanup
prevposition *ELSE No pos marker w/ext in File,
* return to where we started
scrolldown
Find Return "GB" Return * Do global search from bottom up
* Keeps starting cursor position
* if no marker in file
jtrue FOUND
NOEXT:
* -- Pos Marker With Ext Does Not Exist, Search for Marker w/no Ext --*
BegLine ScrollUp BegScreen * Move cursor in front of marker in
* case current screen is positioned
* with marker right on top
Find * Search
#031 #030 Return "B" Return * backwards for Marker
JTrue FOUND * If found, reposition & cleanup
Prevposition *ELSE if not found,
Find Return "GB" Return * Do global search from bottom up
* Keeps starting cursor position
* if no marker in file
Jfalse END * Test if not found, end macro
FOUND: *ELSE marker was found
MakeTopofScreen * Position Label Line at Top of Screen
END:
ScrollDown * Remove it from View
*
* 70 bytes Mon 05-25-1992 20:57:34 (TH @f3)
*
* 1
* ----------------------------------------------------------------------
* @(f4) Jump to Next Position Marker With Extension in Current File,
* Wraps File
* ----------- REVISED 55 bytes Sun 05-24-1992 21:11:38 ---------------
@f4 MacroBegin
setscreenoff setsoundoff
* --------------- Search For Pos Marker With Extension ---------------*
getscrbuff "e" return * Get ext
jfalse NOEXT * Test if ext set
cut * If so, cut to scrap for find
find * Search forward
#031 #030 * for pos marker
paste return * with ext
delline return
jtrue FOUND * If found, reposition & cleanup
begfile * If not, start at top of file
repeatfind * and repeat the search
jtrue FOUND * If found, reposition & cleanup
prevposition *ELSE no pos marker w/ext in File,
* return to where we started
NOEXT:
* -- Pos Marker With Ext Does Not Exist, Search for Marker w/no Ext --*
Find * Search Down for Pos Marker Label
#031 #030 Return
DelLine Return
JTrue FOUND * If found, reposition & cleanup
BegFile * If Not, Start at Top of File
RepeatFind * and Repeat the Search
JTrue FOUND * If found, reposition & cleanup
PrevPosition * No Label in File, Return to
MakeCtrofScreen * orig Position and Center
Jump END
FOUND: * Label Was Found
MakeTopofScreen * Position Label Line at Top of Screen
ScrollDown * Remove it from View
END:
*
* 55 bytes Sun 05-24-1992 21:11:38 (TH @f4)
* g
* 1
* ----------------------------------------------------------------------
* @(f9) Delete All Position Markers With Extensions in Current File
* Except 'Guarded' Markers, Does Not Delete Position Markers
* Without Extensions
* ----------- REVISED 65 bytes Mon 05-25-1992 00:38:05 ---------------
@f9 MacroBegin
setscreenoff setsoundoff
InsertLine #224 * Insertline w/weird character
begfile
FILELOOP: * Loop until all Markers are deleted
Find #031 #030 Return * Search file for next pos marker
delline Return * forward
JFalse FILECLEAN * Pos marker not found, exit loop
cursorright cursorright
endline
jfalse FILELOOP * Test if marker has ext
begline
unmarkblock markline
find "g" return "IL" return * Test if guarded marker with "g" ext
jtrue GUARD * Do not delete guarded markers with "g" ext
delline * Delete non-guarded marker with ext
GUARD:
begline cursordown * Move down one line from guarded marker
Jump FILELOOP * Test if more Markers in current file
FILECLEAN: * File now clean of Markers with ext
Find #224 Return "G" Return * Search file for begin point Marker
cursorright
unmarkblock markcolumn * Mark empty block
storescrbuff "e" return * Clear scratch buff "e"
cut * Clear scrap buffer
DelLine * Delete line w/weird character
makectrofscreen
*
* 65 bytes Mon 05-25-1992 00:38:05 (TH @f9)
*
* 1
* ----------------------------------------------------------------------
* @(f10) Set, Clear or Reset Position Marker Extension
* ----------- REVISED 29 bytes Sun 05-24-1992 22:59:52 ---------------
@f10 macrobegin
setinsmode toggleinsert
insertline begline
"*" cursorright #031 #030
getscrbuff "e" return * Get ext
unmarkblock
markcolumn markcolumn * Mark ext
pause * Pause to delete or overwrite ext
storescrbuff "e" return * Store ext to buff "e"
delline
toggleinsert
*
* 29 bytes Sun 05-24-1992 22:59:52 (TH @f10)
*
* ----------------------------------------------------------------------
* @(h) Jump To Macro or Item in Index
* ----------------------------------------------------------------------
* This macro is used to quickly jump to a macro or item in this file:
* 1. Press Alt and h at the same time. Line 1 is marked to
* highlight. Cursor down to desired line in Index.
* 2. Press Enter. The macro then jumps to the first word
* cursor line in the document below.
*
* See BOOKxx.QM for other macros to jump to positions in and across files.
@h macrobegin
unmarkblock defaultwordset begfile endpara markline begfile
find "(" return "L" return
jfalse NOMARK makectrofscreen begfile
unmarkblock markline markline prevposition begline
pause wordright markword copy endpara
find "(" paste ")" return "I" return
jfalse NOMARK begline maketopofscreen scrollup jump END
NOMARK: begfile END:
*
* 52 bytes Wed 07-31-1991 14:43:31 (TH @4 in BOOKxx.QM)
* (Other) AMAC Macros
* --------------------
* See AMACxx.ZIP and ALLMACRO.INF for many other QEdit macros.
* (Version) History
* ------------------
* 1.0 May 3, 1991 Initial.
* 1.0a May 4, 1991 Changed @7 to return to starting position if
no marker found.
* 1.0b May 4, 1991 Description of @4 and @5 were switched. Corrected.
* 1.0c May 10, 1991 Minor documentation changes.
* 1.1 May 19, 1991 Modified @5 and @6 to use scratch buffer test
* for all file and cursor position cases.
* 1.1a May 22, 1991 Shortened @1 and @2 one byte each.
* 1.1b Oct 3, 1991 Corrected documentation. Added @h.
* 1.1c Feb 17, 1992 Corrected documentation.
* Mar 28, 1992 In AMAC42.ZIP.
* 1.2 May 20, 1992 Added setscreenon|off to @3-0 for QEdit v2.15.
* May 21, 1992 Modified @5 and @6 for correct ring position
* in case Nul file was loaded before invoking.
* Blocks are maintained jumping to and deleting
* positions. Added setsoundoff to @5-0.
* May 21, 1992 Sent to All #3/848-851.
* 1.3 May 22, 1992 Shortened @5 and @6 by not using Nul file.
* May 24, 1992 Added @f1/2/3/4/9/10 for position markers w/extn's.
* (In Amac43.zip)
* 1.3a June 4, 1992 Added unmarkblock to @f1 and @f2. 6/4/92
*
*
*
*
*-- eof